Skip to content

プロセスへのアサインメントの送信

アサインメントは、別のメッセージからデータをプロセスにロードするために使用できます。また、メッセージを重複させないためにも使用できます。1つのメッセージを作成し、それを任意の数のプロセスにアサインすることができます。これにより、アサインメントを送信したプロセスで利用可能になります。

NodeJSでのアサインメントの送信

js
import { readFileSync } from "node:fs";

import { assign } from "@permaweb/aoconnect";

await assign({
  process: "process-id",
  message: "message-id",
})
  .then(console.log)
  .catch(console.error);

DataItemフィールドの除外

ほとんどのDataItemフィールドを除外することもでき、これによりCUにそれらをプロセスにロードしないよう指示します。タグなどのヘッダーデータのみが必要な場合は、データ自体を除外したいことがあります。オーナーを除外しても効果はありません。CUはオーナーを要求するため、オーナーを除外してもCUは無視します。大文字で始まるDataItem/MessageフィールドのみがCUに影響を与えます。

js
import { readFileSync } from "node:fs";

import { assign } from "@permaweb/aoconnect";

await assign({
  process: "process-id",
  message: "message-id",
  exclude: ["Data", "Anchor"],
})
  .then(console.log)
  .catch(console.error);

L1トランザクションのアサイン

baseLayerパラメータをassignに渡すことで、レイヤー1トランザクションをアサインすることもできます。これは、基本レイヤーを使用してトークンをミントする際などに便利です。デフォルトでは、L1トランザクションが少なくとも20回の確認を持っていない場合、SUはそれを拒否します。これは、プロセスを作成する際にSettlement-Depthタグを別の数値に設定することで変更できます。

js
import { readFileSync } from "node:fs";

import { assign } from "@permaweb/aoconnect";

await assign({
  process: "process-id",
  message: "layer 1 tx id",
  baseLayer: true,
})
  .then(console.log)
  .catch(console.error);